

var UnitJS = {

	/**获取距顶部和左边距离
	 * @param  {obj 基准节点}
	 * @return {元素距顶部和左边距离JSON}
	 */
	getPostion : function(obj){
			var top = obj.offsetTop;
			var left = obj.offsetLeft;
			var parent = obj.offsetParent;
			while(parent){
				top += parent.offsetTop;
				left += parent.offsetLeft;
				parent = parent.offsetParent;
			}
			return {top:top,left:left};
	},

	/**获取节点第一个子节点
	 * @param  {parent 基准节点}
	 * @return {获取节点第一个子节点}
	 */
	getFirstNode : function(parent){
		if (parent.firstElementChild){
			var firstObj = parent.firstElementChild;
		}else{
			var firstObj = parent.firstChild;
		}
		return firstObj;
	},

	/**获取节点最后一个子节点
	 * @param  {parent 基准节点}
	 * @return {最后一个子节点}
	 */
	getLastNode : function(parent){
		if (parent.lastElementChild){
			return parent.lastElementChild;
		}else{
			return parent.lastChild;
		}
	},

	/**获取上一个同级节点
	 * @param  {obj 基准节点}
	 * @return {上一个同级节点}
	 */
	getLastSiblingNode : function(obj){
		if (obj.previousElementSibling){
			return obj.previousElementSibling;
		}else{
			return obj.previousSibling;
		}
	},

	/**获取下一个同级节点
	 * @param  {obj 基准节点}
	 * @return {下一个同级节点}
	 */
	getLastSiblingNode : function(obj){
		if (obj.nextElementSibling){
			return obj.nextElementSibling;
		}else{
			return obj.nextSibling;
		}
	},

	/**获取计算后的样式
	 * @param  {obj 需要被获取的控件}
	 * @param  {styleName 需要获取的样式名}
	 * @return {计算后的样式}
	 */
	 getStyle : function(obj,styleName){
		//获取计算后的样式
		if (window.getComputedStyle){
			return getComputedStyle(obj,null)[styleName];
		}else{
			return obj.currentStyle[styleName];
		}
	},

	/**获取随机数
	 * @param  {min 最小值}
	 * @param  {max 最大值}
	 * @return {随机数}
	 */
	getRand : function(min,max){
		return parseInt(Math.random()*(max-min)+1)+min;
	},

	/**判断浏览器版本
	 * @return {浏览器版本}
	 */
	myBrowser : function(){
	    var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
	    var isOpera = userAgent.indexOf("Opera") > -1;
	    if (isOpera) {
	        return "Opera"
	    }else if (userAgent.indexOf("Firefox") > -1) {
	        return "FF";
	    }else if (userAgent.indexOf("Chrome") > -1){
	  		return "Chrome";
		}else if (userAgent.indexOf("Safari") > -1) {
	        return "Safari";
	    }else if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
	        return "IE";
	    }
	},

	/**获取滚动距离
	 * @return {滚动距离}
	 */
	getBodyScrollTop : function(){
		var bodyScrollTop = document.body.scrollTop || document.documentElement.scrollTop;
		return bodyScrollTop;
	},
	
	/**图片懒加载
	 * @param  {imgsArr 需要懒加载<img>标签数组}
	 * @return {}
	 */
	lazyLoading : function(imgsArr){
		var imgs = imgsArr;
		window.onscroll = function (){
			var windowHeight = document.documentElement.clientHeight;
			var scrollTop = getBodyScrollTop();
			var scrollBottom = windowHeight + scrollTop;
			for (var i=0; i<imgs.length; i++){
				if (scrollBottom > imgs[i].offsetTop){
					imgs[i].src = imgs[i].getAttribute("_src");
				}
			}
		}
	},
	
	/**图片预加载
	 * @param  {imgUrlsArr 预加载图片的url数组}
	 * @param  {scaleLabelID 显示进度控件的ID}
	 * @param  {contentLabelID 图片预加载完毕后显示的控件ID}
	 * @return {}
	 */
	preLoading : function(imgUrlsArr,scaleLabelID,contentLabelID){
		var arr = imgUrlsArr;
		var label = document.getElementById(scaleLabelID);
		var content = document.getElementById(contentLabelID);
		var loadedNum = 0;
		var imgs = [];
		for (var i=0; i<arr.length; i++){
			var imgObj = new Image();
			imgObj.src = arr[i];
			imgObj.onload = function (){
				loadedNum++;
	 			var scale = parseInt(loadedNum/arr.length*100)+"%";
	 			label.innerHTML = scale;
	 			imgs.push(this);
	 			if (loadedNum>=arr.length){
	 				for (var i=0; i<arr.length; i++){
	 					content.appendChild(imgs[i]);
	 				}
	 			}
			}
		}		
	}
	
}
